1. Field of the Invention
The present invention relates generally to the design, evaluation, and delivery of complex systems and projects. More particularly, embodiments of the invention relate to methods and tools for creating and evaluating various system blueprints based on the requirements, solutions, and deployments of complex systems and projects.
2. Background Art
In the delivery of complex systems and projects, decision-makers (e.g. project planners, managers and technical leads) are often confronted with a large number of decisions and decision dependences/constraints when planning, designing, building, buying or deploying the complex system. For example, these decision-makers must: (a) determine the scope and detail of requirements to capture, document and measure the system by; (b) predict and assess individual customers or market needs at given times, available technology solutions, and the overall requirements for the system including functional requirements, data requirements, timing requirements, non-functional requirements, and installation requirements; (c) identify and plan for the scope of requirements to be delivered and satisfied within respective system releases and system deployments; (d) evaluate and compare technology solutions options; (e) determine which technology solutions to buy, reuse, or develop; (f) configure, evaluate and select technology solutions that best satisfy: functional requirements, compatibility/integration with each other, non-functional requirements, marketplace needs or the limits of the customer's actual resources.
Prior requirements and design tools mostly target technology-savvy users involved in tactical decision-making associated with system development activities. These independent and isolated software tools are intended to facilitate a particular aspect of the decision making process (e.g., organize text fragments to describe requirements and relate the text fragments to requirements). In some cases, users (e.g., system architect) can use some tools to draw elaborate diagrams using standardized notations (e.g., UML) describing modules/components/parts of a system and relating those parts in timing diagrams, data flow diagrams, topology diagram, etc. These prior tools target detailed designs and development and assume the output of high-level strategic decision-making as a given input. All analyses and evaluations of: (1) requirements, solutions, and deployments, (2) dependencies between requirements, solutions and deployments as well as (3) associated designs or blueprints are left to the human users' cognitive processes. Since these prior systems target technical staff (i.e., developers), they focus on requirements or low level design and do not consider the system and business view or allow a user to create descriptions of requirements or designs/blueprints or relate/link the requirements, solutions and deployments to customers.
Furthermore, despite incomplete requirements, solution specifications and deployment descriptions, the earlier decision-makers are provided this information and the ability to conduct trade-offs and evaluations, the earlier problems can be detected and costly problems can be avoided where problems become more and more costly at each step in the project lifecycle (e.g. project analysis, design, development, testing, deployment, maintenance).
Therefore, there is a need to provide methods and software tools, including computational models and analysis logic, to enable decision-makers to: (a) manage large, complex, and sometimes conflicting sets of information and decisions; (b) manage and relate/link large amounts of complex associations between requirements, solutions and deployments of a complex system; and (c) evaluate and conduct trade-offs for different designs, blueprints, solutions, and milestones for the delivery of a complex system.